using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.ComponentModel;
using ACME.Northwind.DataTransfer;
using System.Runtime.Serialization;

namespace ACME.Northwind.DataTransfer
{
	/// <summary>
	/// Object data transfer definition for the 'Employees' table
	/// </summary>
	[Serializable()]
	[DataContract()]
	public partial class EmployeeDTO : IDTO
	{
		#region Class Members

		#region FieldImageConstants Enumeration

		/// <summary>
		/// An enumeration of this object's image type fields
		/// </summary>
		public enum FieldImageConstants
		{
			 /// <summary>
			 /// Field mapping for the image column 'Photo' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the image column 'Photo' property")]
			Photo,
		}

		#endregion

		#region FieldNameConstants Enumeration

		/// <summary>
		/// An enumeration of this object's fields
		/// </summary>
		public enum FieldNameConstants
		{
			 /// <summary>
			 /// Field mapping for the 'TitleOfCourtesy' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'TitleOfCourtesy' property")]
			TitleOfCourtesy,
			 /// <summary>
			 /// Field mapping for the 'Title' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Title' property")]
			Title,
			 /// <summary>
			 /// Field mapping for the 'ReportsTo' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'ReportsTo' property")]
			ReportsTo,
			 /// <summary>
			 /// Field mapping for the 'Region' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Region' property")]
			Region,
			 /// <summary>
			 /// Field mapping for the 'PostalCode' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'PostalCode' property")]
			PostalCode,
			 /// <summary>
			 /// Field mapping for the 'PhotoPath' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'PhotoPath' property")]
			PhotoPath,
			 /// <summary>
			 /// Field mapping for the 'Photo' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Photo' property")]
			Photo,
			 /// <summary>
			 /// Field mapping for the 'Notes' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Notes' property")]
			Notes,
			 /// <summary>
			 /// Field mapping for the 'LastName' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'LastName' property")]
			LastName,
			 /// <summary>
			 /// Field mapping for the 'HomePhone' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'HomePhone' property")]
			HomePhone,
			 /// <summary>
			 /// Field mapping for the 'HireDate' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'HireDate' property")]
			HireDate,
			 /// <summary>
			 /// Field mapping for the 'FirstName' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'FirstName' property")]
			FirstName,
			 /// <summary>
			 /// Field mapping for the 'Extension' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Extension' property")]
			Extension,
			 /// <summary>
			 /// Field mapping for the 'EmployeeId' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'EmployeeId' property")]
			EmployeeId,
			 /// <summary>
			 /// Field mapping for the 'Country' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Country' property")]
			Country,
			 /// <summary>
			 /// Field mapping for the 'City' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'City' property")]
			City,
			 /// <summary>
			 /// Field mapping for the 'BirthDate' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'BirthDate' property")]
			BirthDate,
			 /// <summary>
			 /// Field mapping for the 'Address' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'Address' property")]
			Address,
			 /// <summary>
			 /// Field mapping for the 'CreatedBy' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'CreatedBy' property")]
			CreatedBy,
			 /// <summary>
			 /// Field mapping for the 'CreatedDate' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'CreatedDate' property")]
			CreatedDate,
			 /// <summary>
			 /// Field mapping for the 'ModifiedBy' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'ModifiedBy' property")]
			ModifiedBy,
			 /// <summary>
			 /// Field mapping for the 'ModifiedDate' property
			 /// </summary>
			[System.ComponentModel.Description("Field mapping for the 'ModifiedDate' property")]
			ModifiedDate,
		}

		#endregion

		#endregion

		#region Constructors

		/// <summary>
		/// The default contructor for the Employee DTO
		/// </summary>
		public EmployeeDTO()
		{
		}

		#endregion

		#region Object Properties

		/// <summary>
		/// The Address field
		/// </summary>
		[DataMember()]
		public virtual string Address { get; set; }
		/// <summary>
		/// The BirthDate field
		/// </summary>
		[DataMember()]
		public virtual DateTime? BirthDate { get; set; }
		/// <summary>
		/// The City field
		/// </summary>
		[DataMember()]
		public virtual string City { get; set; }
		/// <summary>
		/// The Country field
		/// </summary>
		[DataMember()]
		public virtual string Country { get; set; }
		/// <summary>
		/// The EmployeeId field
		/// </summary>
		[DataMember()]
		public virtual int EmployeeId { get; set; }
		/// <summary>
		/// The Extension field
		/// </summary>
		[DataMember()]
		public virtual string Extension { get; set; }
		/// <summary>
		/// The FirstName field
		/// </summary>
		[DataMember()]
		public virtual string FirstName { get; set; }
		/// <summary>
		/// The HireDate field
		/// </summary>
		[DataMember()]
		public virtual DateTime? HireDate { get; set; }
		/// <summary>
		/// The HomePhone field
		/// </summary>
		[DataMember()]
		public virtual string HomePhone { get; set; }
		/// <summary>
		/// The LastName field
		/// </summary>
		[DataMember()]
		public virtual string LastName { get; set; }
		/// <summary>
		/// The Notes field
		/// </summary>
		[DataMember()]
		public virtual string Notes { get; set; }
		/// <summary>
		/// The Photo field
		/// </summary>
		[DataMember()]
		public virtual System.Byte[] Photo { get; set; }
		/// <summary>
		/// The PhotoPath field
		/// </summary>
		[DataMember()]
		public virtual string PhotoPath { get; set; }
		/// <summary>
		/// The PostalCode field
		/// </summary>
		[DataMember()]
		public virtual string PostalCode { get; set; }
		/// <summary>
		/// The Region field
		/// </summary>
		[DataMember()]
		public virtual string Region { get; set; }
		/// <summary>
		/// The ReportsTo field
		/// </summary>
		[DataMember()]
		public virtual int? ReportsTo { get; set; }
		/// <summary>
		/// The Title field
		/// </summary>
		[DataMember()]
		public virtual string Title { get; set; }
		/// <summary>
		/// The TitleOfCourtesy field
		/// </summary>
		[DataMember()]
		public virtual string TitleOfCourtesy { get; set; }
		/// <summary>
		/// The CreatedDate field
		/// </summary>
		[DataMember()]
		public virtual DateTime? CreatedDate { get; set; }
		/// <summary>
		/// The CreatedBy field
		/// </summary>
		[DataMember()]
		public virtual string CreatedBy { get; set; }
		/// <summary>
		/// The ModifiedDate field
		/// </summary>
		[DataMember()]
		public virtual DateTime? ModifiedDate { get; set; }
		/// <summary>
		/// The ModifiedBy field
		/// </summary>
		[DataMember()]
		public virtual string ModifiedBy { get; set; }

		#endregion

	}

}
